package com.ls.controller.booking.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.time.LocalDate;
import java.time.LocalTime;

/**
 * @ClassName AddBookingModel
 * @Description 新增预定model
 * @Author pengyu
 * @Date 2024/7/25 17:14
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class AddBookingModel {
    /**
     * 联系人id
     */
    private Long linkmanId;
    /**
     * 联系人名称
     */
    private String linkmanName;
    /**
     * 联系人性别 0女，1男
     */
    @Max(value = 1)
    @Min(value = 0)
    private Integer linkmanSex;

    /**
     * 联系人生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    private LocalDate linkmanBirthday;
    /*生日类型 0为农历，1为阳历*/
    @Max(value = 1)
    @Min(value = 0)
    private Integer birthdayType;
    /**
     * 联系人手机号
     */
    private String linkmanPhone;
    /**
     * 联系人微信
     */
    private String linkmanWechat;
    /**
     * 联系人类型 0员工联系人，1客户联系人，2为亲友
     */
    @Max(value = 2)
    @Min(value = 0)
    private Integer linkmanType;
    /**
     * 标签id，来自label表
     */
    private Long labelId;
    /**
     * 部门或分组id，来自team表；linkman_type为0代表部门，为1代表分组
     */
    private Long teamId;
    /**
     * 对客户的尊称
     */
    private String respectName;
    /**
     * 对客户的自称
     */
    private String selfName;
    /**
     * 联系人邮箱
     */
    private String linkmanEmail;
    /**
     * 公司id，来自company表
     */
    private Long companyId;
    /**场地id*/
    private Long seatingId;
    /**卡座id*/
    private Long boothId;
    /**预定日期*/
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    private LocalDate bookingDay;
    /**预定时段 1早餐，2午餐，3下午茶，4晚餐*/
    private Integer timeId;
    /**跟进类型 1预定，2沟通 默认1*/
    @Max(value = 2)
    @Min(value = 1)
    private Integer bookingType;
    /**信息来源 1电话，2短信，3现场，4微信，5其他，6系统 默认1*/
    private Integer bookingSource;
    /**预计到店时间*/
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "HH:mm:ss")
    private LocalTime arrivalTime;
    /**预计到店人数*/
    private Integer arrivalNum;
    /**预定状态 1已预定，2已修改，3已到店，4已完成，5已取消*/
//    private Integer bookingStatus;
    /**备注*/
    private String remark;
}
